package com.excesys.exsecs.om.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 保养计划表
 *
 */
@Data
@TableName("om_maintenance_plan")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "保养计划表")
public class OmMaintenancePlan  extends Model<OmMaintenancePlan> {

	/**
	 * 主键
	 */
	@TableId(type = IdType.AUTO)
	@Schema(description = "主键")
	private Integer id;

	/**
	 * 计划名称
	 */
	@Schema(description = "计划名称")
	private String planName;

	/**
	 * 维修模板名称
	 */
	@Schema(description = "维修模板名称")
	private String maintenanceTemplateName;

	/**
	 * 设备编码
	 */
	@Schema(description = "设备编码")
	private String deviceCode;

	/**
	 * 设备型号
	 */
	@Schema(description = "设备型号")
	private String deviceName;

	/**
	 * 型号名称
	 */
	@Schema(description = "型号名称")
	private String modelName;

	/**
	 * 型号编码
	 */
	@Schema(description = "型号编码")
	private String modelCode;

	/**
	 * 生产厂家
	 */
	@Schema(description = "生产厂家")
	private String produceFactory;

	/**
	 * 内部负责人
	 */
	@Schema(description = "内部负责人")
	private String headInterior;

	/**
	 * 负责人电话
	 */
	@Schema(description = "负责人电话")
	private String headPhone;

	/**
	 * 保养单位
	 */
	@Schema(description = "保养单位")
	private String maintenanceUnit;

	/**
	 * 保养人
	 */
	@Schema(description = "保养人")
	private String maintenancePeople;

	/**
	 * 保养人电话
	 */
	@Schema(description = "保养人电话")
	private String maintenancePeoplePhone;

	/**
	 * 维修区域
	 */
	@Schema(description = "维修区域")
	private String areaCode;

	/**
	 * 是否转换工单 0-是/1-否（否会创建事件,由管理员判断是否生成工单）
	 */
	@Schema(description = "是否转换工单 0-是/1-否（否会创建事件,由管理员判断是否生成工单）")
	private String planFlag;

	/**
	 * 计划类型
	 */
	@Schema(description = "计划类型")
	private String planType;

	/**
	 * 计划状态
	 */
	@Schema(description = "计划状态")
	private String planStatus;


	/**
	 * 是否短信通知
	 */
	@Schema(description = "是否短信通知")
	private String flag;


	/**
	 * 计划开始时间
	 */
	@Schema(description = "计划开始时间")
	private String planStartTime;

	/**
	 * 周期单位
	 */
	@Schema(description = "周期单位")
	private String planCycleType;

	/**
	 * 执行间隔
	 */
	@Schema(description = "执行间隔")
	private String frequency;

	/**
	 * 执行时间
	 */
	@Schema(description = "执行时间")
	private String excuteDate;

	/**
	 * 0-未执行/1-已执行
	 */
	@Schema(description = "0-未执行/1-已执行")
	private String isExecute;

	/**
	 * 执行次数
	 */
	@Schema(description = "执行次数")
	private Integer executeNum;

	/**
	 * 创建人
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建人")
	private String createBy;

	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	@Schema(description="创建时间")
	private LocalDateTime createTime;

	/**
	 * 更新人
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="更新人")
	private String updateBy;

	/**
	 * 更新时间
	 */
	@TableField(fill = FieldFill.INSERT_UPDATE)
	@Schema(description="更新时间")
	private LocalDateTime updateTime;


}
